public class test2 {
    public static void main1(String[] args) {
        System.out.println("Hello world!");
        int a = 9;
        if (a % 2 == 0) {
            System.out.println("a是偶数");
        } else {
            System.out.println("a是奇数");
        }
        //公历年份是4的倍数，且不是100的倍数，为普通闰年.公历年份是整百数，且必须是400的倍数才是世纪闰年.
        int year = 2000;
        if (year % 100 != 0) {
            if (year % 4 == 0) {
                System.out.println("普通闰年");
            } else {
                System.out.println("不是普通闰年");
            }
        } else
        {
            if(year%400==0){
                System.out.println("是世纪闰年");
            }else{
                System.out.println("不是世纪闰年");
            }
        }
    }
    public static void main2(String[] args) {
        System.out.println(1);
        System.out.println(3);
        System.out.println(2);
        int a=10;
        if(a==1){
            System.out.println("a=1");
        }else if(a==10){
            System.out.println("a=10");
        }else{
            System.out.println("a!=1&&a!=10");
        }
        int b=10;
        b=--b;
        System.out.println(b);
    }

    public static void main3(String[] args) {
        int a=10;
        int b=20;
        System.out.println(a==b);
        System.out.println(a>b!=false);
        System.out.println("&&");
        System.out.println(a!=b&&a<b);
        System.out.println(a!=b&&a>b);
        System.out.println(a==b&&a<b);
        System.out.println(a==b&&a>b);
        System.out.println("都为1才为1");
        System.out.println("==========");
        System.out.println("||");
        System.out.println(a!=b||a<b);
        System.out.println(a!=b||a>b);
        System.out.println(a==b||a<b);
        System.out.println(a==b||a>b);
        System.out.println("都为0才为0");
    }

    public static void main4(String[] args) {
        int a=10;
        String s1 = "hello";
        String s2 = " world";
        System.out.println(s1);
        System.out.println(s2);
        System.out.println(s1+s2); // s1+s2表示：将s1和s2进行拼接
        //字符串和整形数字之间进行转换：
        //1. int 转成 String
        int num = 10;
        String str1 = num + "";

        /////////////////////////////////////
        String str2 = String.valueOf(num);
        System.out.println(str1);
        System.out.println(str2+str1);
        //String 转成 int
        ////////////////////////////////////
        String str = "100";
        int b = Integer.parseInt(str);
        System.out.println("=====================");
        int c=10;
        int d=20;
        System.out.println(c+d+"hello");
        System.out.println("hello"+c+d);
        System.out.println("hello"+(c+d));
        System.out.println("=====================");
        String sum="123";
        System.out.println(sum+sum);
        int ret=Integer.parseInt(sum);
        System.out.println(ret+ret);
    }

    public static void main5(String[] args) {
        System.out.println(10%3);
        System.out.println(-10%3);
        System.out.println(10%-3);
        System.out.println(-10%-3);
        System.out.println(11.5%2);
        System.out.println(7/3);
        System.out.println(-7/3);
        System.out.println(7/-3);
        System.out.println(-7/-3);
        int a=10;
        long b=20L;
        a=(int)b;
        byte g=(byte)-129;
        System.out.println(g);
//        System.out.println(a/c);
    }

    public static void main6(String[] args) {
        int a=10;
        long b=20;
        int c=(int)(a+b);
        long c2=a+b;
    }

    public static void main7(String[] args) {
        int a=10;
        int b=20;
        boolean c=(a!=b);//true
        boolean d=(a>b);//false
        int n=a>b?a:b;
        System.out.println(n);
        System.out.println(c);
        System.out.println(d);
        System.out.println(c|d);
        System.out.println(c&d);
      /*对于 && , 如果左侧表达式值为 false, 则表达式结果一定是 false, 无需计算右侧表达式.
        对于 ||, 如果左侧表达式值为 true, 则表达式结果一定是 true, 无需计算右侧表达式.*/
        //System.out.println(d||10/0==0);
        //System.out.println(d|10/0==0);
        //& 和 | 如果表达式结果为 boolean 时, 也表示逻辑运算. 但与 && || 相比, 它们不支持短路求值.
        System.out.println(d&&10/0==0);
        // System.out.println(d&10/0==0);
    }

    public static void main(String[] args) {
       /* int a=-1;
        System.out.println(a>>>1);
        int b=2;
        System.out.println(b>>>1);*/
        int c = 0x10;//16进制
        //0xf 表示 10 进制的 15, 也就是二进制的 1111
        //printf 能够格式化输出内容, %x 表示按照十六进制输出.
        //\n 表示换行符
        System.out.printf("%x\n", c>>1 );
        int a = 10;
        int b = 20;
        System.out.println(a & b);
        int n = 10;
        int m = 20;
        System.out.println(n | m);
        int i = 0xf;
        System.out.printf("%x\n", ~i);

    }
}